<?php

/**
 * @param $path 拼接URL
 * @return string 当前的路径
 */
function basePath($path = '')
{
    return __DIR__ . '/' . $path;
}

/**
 * @param $name
 * @return void 获取view/partials下的php组件
 */
function loadPartial($name, $data = [])
{
    $partialPath = basePath("App/views/partials/{$name}.php");

    if (file_exists($partialPath)) {
        extract($data);
        require $partialPath;
    } else {
        echo "{$name}部分试图不存在!";
    }
}

/**
 * @param $name
 * @param $data
 * @return void 获得view目录的php的view
 */
function loadView($name, $data = [])
{

    $viewPath = basePath("App/views/{$name}.view.php");
    if (file_exists($viewPath)) {
        // 将数组键名转换成变量名称
        extract($data);
        require $viewPath;
    }
    else {
        echo "{$name}部分试图不存在!";
    }
}


/**
 * @param $value
 * @return void 检查某个值
 */
function inspect($value)
{
    echo '<pre>';
    var_dump($value);
    echo '<pre>';
}


function inspectAndDie($value)
{
    echo '<pre>';
    // 执行到这和die会终止脚本的执行
    die(var_dump($value));
    echo '<pre>';
}


/**清洗数据
 * 该函数接收一个字符串参数，首先去除字符串的首尾空白，然后使用 PHP 的 filter_var 函数
 * 与 FILTER SANITIZE SPECIAL CHARS 过滤器来清洗字符串。这个过滤器会转义HTML中的特殊字符来
 * 可以防止跨站脚本攻击(XSS)等安全问题。
 *
 * @param string $dirty 待清洗的原始字符串数据。
 * @return string 返回清洗后的安全字符串。
 * */
function sanitize($dirty) {
    return filter_var(trim($dirty), FILTER_SANITIZE_SPECIAL_CHARS);
}


/**
 * 重定向给定的 URL
 *
 * @param $url
 * @return void
 */
function redirect($url) {
    header("Location: {$url}");
    exit;
}







